package com.ruoyi.system.mapper;

import java.util.List;
import com.ruoyi.system.domain.TBoxInfo;
import org.apache.ibatis.annotations.Param;

/**
 * 装箱管理Mapper接口
 * 
 * @author ruoyi
 * @date 2024-12-20
 */
public interface TBoxInfoMapper 
{
    /**
     * 查询装箱管理
     * 
     * @param boxCode 装箱管理主键
     * @return 装箱管理
     */
    public TBoxInfo selectTBoxInfoByBoxCode(String boxCode);

    /**
     * 查询装箱管理列表
     * 
     * @param tBoxInfo 装箱管理
     * @return 装箱管理集合
     */
    public List<TBoxInfo> selectTBoxInfoList(TBoxInfo tBoxInfo);

    public TBoxInfo selectTBoxInfoDesc();

    /**
     * 新增装箱管理
     * 
     * @param tBoxInfo 装箱管理
     * @return 结果
     */
    public int insertTBoxInfo(TBoxInfo tBoxInfo);

    /**
     * 修改装箱管理
     * 
     * @param tBoxInfo 装箱管理
     * @return 结果
     */
    public int updateTBoxInfo(TBoxInfo tBoxInfo);

    /**
     * 删除装箱管理
     * 
     * @param boxCode 装箱管理主键
     * @return 结果
     */
    public int deleteTBoxInfoByBoxCode(String boxCode);

    /**
     * 批量删除装箱管理
     * 
     * @param boxCodes 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteTBoxInfoByBoxCodes(String[] boxCodes);

    /**
     * 批量封箱
     *
     * @param boxCodes 需要删除的数据主键集合
     * @return 结果
     */
    public int fxBoxInfoByBoxCodes(String[] boxCodes);

    /**
     * 多选箱子id 对箱子进行批量出库
     * @param boxCodes 需要删除的数据主键集合
     * @return 结果
     */
    public int ckBoxInfoByBoxCodes(@Param("customerAddress") String customerAddress,@Param("customerName") String customerName,@Param("customerPhone") String customerPhone,@Param("customerInfo") String customerInfo,@Param("customerRemark") String customerRemark,@Param("array") String[] boxCodes);

    /**
     * 多选箱子id 对设备进行批量出库
     * @param boxCodes 需要删除的数据主键集合
     * @return 结果
     */
    public int ckDeviceInfoByBoxCodes(@Param("customerAddress") String customerAddress,@Param("customerName") String customerName,@Param("customerPhone") String customerPhone,@Param("customerInfo") String customerInfo,@Param("customerRemark") String customerRemark,@Param("array") String[] boxCodes);

    /**
     * 通过箱子编号查询设备数量
     * @param boxCode
     * @return
     */
    public int getDeviceCount(String boxCode);
}
